Expand description

serial_test

serial_test allows for the creation of serialised Rust tests using the serial attribute e.g.

#[test]
#[serial]
fn test_serial_one() {
  // Do things
}

#[test]
#[serial]
fn test_serial_another() {
  // Do things
}

Multiple tests with the serial attribute are guaranteed to be executed in serial. Ordering of the tests is not guaranteed however.

For cases like doctests and integration tests where the tests are run as separate processes, we also support file_serial, with similar properties but based off file locking. Note that there are no guarantees about one test with serial and another with file_serial as they lock using different methods.

#[test]
#[file_serial]
fn test_serial_three() {
  // Do things
}

Feature flags

  • file_locks — The file_locks feature unlocks the file_serial macro

Attribute Macros

file_serialfile_locks

Allows for the creation of file-serialised Rust tests

Allows for the creation of serialised Rust tests